Disk drives conventionally partition disk surfaces into logical zones for optimizing storage capacity by varying bit density within each of the logical zones. The zones may be visualized as concentric bands of tracks with a varying progression of bit density from band to band. Each zone stores a range of user data blocks which are addressed by a host computer using a logical block address (LBA). The disk drive comprises an intelligent control system which translates the host specified LBA into an internal address. As is known in the art, the internal address may result from a translation process that translates the LBA into an internal absolute block address (ABA) that is eventually translated into a physical sector address and track address. Additionally, a disk is further partitioned into servo sectors disposed on the disk between angularly-spaced wedge-like areas for use in positioning the head over a desired track during write and read operations.
The disk drive control system may maintain a set of wedge position tables where each table provides information as to which wedge in a given disk a selected sector belongs to. In this way, a wedge position tables enables the control system to determine in which wedge a given user data block resides by searching the wedge position tables to locate the sector corresponding to the block address.
In most cases, the disk drive control system can accomplish this table search without compromising performance because the wedge position tables are stored in memory when the drive is initialized for operation and only one set of tables is required because each disk surface has an identical format. The highly competitive disk drive market has more recently driven initiatives to minimize cost by allowing for variations in surface format such that multiple sets of wedge position tables may be required. Detrimentally, this could require increased memory for storing the tables and increased processor execution overhead to perform searches of the expanded tables.
Accordingly, what is needed is a method for determining in which wedge in a disk surface a given user data block resides, while reducing processor execution overhead.